AWS IAMロールの作成
IAMユーザの作成が必要になった、つまりこの文脈では Terraform 操作に必要となるシークレットキーがほしい。ほしいが、永続的なシークレットキーが漏洩し気づかぬまま悪用されてしまうということもあるのでセッション保持期間のみ有効なシークレットキーを発行するために Identity Center でユーザを指定し作成した
理解が乏しい部分もあるかもしれない
詳しくなかったのもあるが、sts:AssumeRole の権限をもつIAMユーザを作成し任意のポリシーをもつIAMロールをAssumeRoleするという方法もある
GUI で完結するしわざわざ AssumeRoleする必要がないので Identity Center でやるのは簡単だった
tkdn.icon「Identity Center でユーザーを指定」ではなく「IAMロールを作成」にした
永続的なクレデンシャルの発行が可能だから。前者はおそらくSSOなど組織構成員の管理上必要な場合かな
tkdn.iconアクセスキーは自動で作成されなかった。そもそも永続的なアクセスキーの発行、今はベストプラクティスなのか?
基本的に永続的なクレデンシャルの発行は昨今のベストプラクティスから外れるので Identity Center からのユーザ作成に変更
tkdn.icon結局 Identity Center から一時的なアクセスキーが発行されるようにした
https://gyazo.com/8d16a69e4323fbfd39bc73ffe62c1a19
いずれも料金はかからない
ユーザ作成、グループ作成手順
1. Identity Center を有効化
2. IAM Identity Center からユーザ作成
3. IAM Identity Center でグループを作成
グループに許可セットを与える
Identity Center で作成するユーザを含めるグループにはアカウントから下ろした許可セットが適用される
https://gyazo.com/773e39bc0c5aa9c3ee133ea16b3703ac
許可セットはほぼIAMポリシーだが、IAMポリシーと違うのはアカウントごとにポリシーを作成して下ろすのではなく、複数ポリシーがアタッチされたグループが作成可能なので
tkdn.iconの理解では、アカウント=権限を持つ上位概念、グループ=アカウントから降ろされた複数のポリシーを組み合わせられる、ユーザ=グループに所属することでようやく権限を持つことができる、所属するグループによって権限が変わるので作業のコンテキストによりスイッチ可能である
友人に聞く限りにおいてはこれまでもグループに対してポリシーをあててユーザーを所属させるというのが推奨だった、とのこと
許可セットアタッチの手順
1. Identity Center で許可セットの作成
マネージドポリシーも選択可能(この場合事前定義された許可セットという名称)
2. グループを紐付けるAWSアカウントを選択する
そのアカウントに許可セット(今回は任意のマネージドポリシー)を与える
所属でよくみるログイン後の画面になった
https://gyazo.com/d44d7501ba38ace5728a9c68739108c3
資料